﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Timers;

namespace P20_1 {
    internal class Program {
        static void Main(string[] args) {
            /**
             * timer：事件拥有者
             * timer.Elapsed：事件
             * boy：事件响应者
             * Boy->Action：事件处理器
             * timer.Elapsed += boy.Action;：事件订阅，timer.Elapsed： 事件；boy.Action：事件处理器；+=：事件订阅操作符
             */


            Timer timer = new Timer();
            //时间间隔为 1 s
            timer.Interval = 1000;
            Boy boy = new Boy();
            Girl girl = new Girl();
            //达到时间间隔就执行某个方法
            timer.Elapsed += boy.Action;
            timer.Elapsed += girl.Action;
            timer.Start();
            Console.ReadLine();
        }
    }

    class Boy {
        //事件处理器
        internal void Action(object sender, ElapsedEventArgs e) {
            Console.WriteLine("Jump!");
        }
    }

    class Girl {
        internal void Action(object sender, ElapsedEventArgs e) {
           Console.WriteLine("Sing!");
        }
    }
}
